---
description: Espressif ESP32-S3 DevKitM
---
# Espressif ESP32-S3 DevKitM


ESP32-S3 DevKitM development board. Should also work for DevKitC.


![Espressif ESP32-S3 DevKitM picture](https://microsoft.github.io/jacdac-docs/images/devices/espressif/esp32s3devkitmv10.catalog.jpg)

## Features

-  WS2812B RGB LED on pin P48  (use [setStatusLight](/developer/status-light) to control)
-  Serial logging on pin P43 at 115200 8N1

{@import optional ./esp32s3-devkit-m-features.mdp}


{@import optional ./esp32s3-devkit-m-services.mdp}


:::caution

I2C pins are not [configured](/developer/board-configuration).

:::


## Stores

-  [https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitm-1.html](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitm-1.html)

## Pins

| pin name | hardware id | features |
|:---------|:------------|---------:|
| **P0** |  GPIO0 |  boot,  io |
| **P1** |  GPIO1 |  analogIn,  io |
| **P10** |  GPIO10 |  analogIn,  io |
| **P11** |  GPIO11 |  io |
| **P12** |  GPIO12 |  io |
| **P13** |  GPIO13 |  io |
| **P14** |  GPIO14 |  io |
| **P15** |  GPIO15 |  io |
| **P16** |  GPIO16 |  io |
| **P17** |  GPIO17 |  analogOut,  io |
| **P18** |  GPIO18 |  analogOut,  io |
| **P2** |  GPIO2 |  analogIn,  io |
| **P21** |  GPIO21 |  io |
| **P3** |  GPIO3 |  analogIn,  io |
| **P33** |  GPIO33 |  io,  octal-flash |
| **P34** |  GPIO34 |  io,  octal-flash |
| **P38** |  GPIO38 |  io |
| **P39** |  GPIO39 |  debug,  io |
| **P4** |  GPIO4 |  analogIn,  io |
| **P40** |  GPIO40 |  debug,  io |
| **P41** |  GPIO41 |  debug,  io |
| **P42** |  GPIO42 |  debug,  io |
| **P43** |  GPIO43 |  log.pinTX,  io |
| **P45** |  GPIO45 |  boot,  io |
| **P46** |  GPIO46 |  boot,  io |
| **P47** |  GPIO47 |  io |
| **P48** |  GPIO48 |  led.pin,  io |
| **P5** |  GPIO5 |  analogIn,  io |
| **P6** |  GPIO6 |  analogIn,  io |
| **P7** |  GPIO7 |  analogIn,  io |
| **P8** |  GPIO8 |  analogIn,  io |
| **P9** |  GPIO9 |  analogIn,  io |



## DeviceScript import


You must add this import statement to load 
the pinout configuration for this device.

In [Visual Studio Code](/getting-started/vscode),
click the **wand** icon on the file menu and 
select "Espressif ESP32-S3 DevKitM".

```ts
import { pins, board } from "@dsboard/esp32s3_devkit_m"
```

{@import optional ./esp32s3-devkit-m-examples.mdp}

## Firmware update

In Visual Studio Code,
select **DeviceScript: Flash Firmware...** from the command palette.
        
Run this [command line](/api/cli) command and follow the instructions.

```bash
devicescript flash --board esp32s3_devkit_m
```


- [Firmware](https://github.com/microsoft/devicescript-esp32/releases/latest/download/devicescript-esp32s3-esp32s3_devkit_m-0x0.bin)

## Configuration

```json title="esp32s3_devkit_m.json"
{
    "$schema": "https://raw.githubusercontent.com/microsoft/devicescript-esp32/main/boards/esp32deviceconfig.schema.json",
    "id": "esp32s3_devkit_m",
    "devName": "Espressif ESP32-S3 DevKitM",
    "productId": "0x3574d277",
    "$description": "ESP32-S3 DevKitM development board. Should also work for DevKitC.",
    "archId": "esp32s3",
    "url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitm-1.html",
    "led": {
        "pin": "P48",
        "type": 1
    },
    "log": {
        "pinTX": "P43"
    },
    "pins": {
        "P0": 0,
        "P1": 1,
        "P10": 10,
        "P11": 11,
        "P12": 12,
        "P13": 13,
        "P14": 14,
        "P15": 15,
        "P16": 16,
        "P17": 17,
        "P18": 18,
        "P2": 2,
        "P21": 21,
        "P3": 3,
        "P33": 33,
        "P34": 34,
        "P38": 38,
        "P39": 39,
        "P4": 4,
        "P40": 40,
        "P41": 41,
        "P42": 42,
        "P43": 43,
        "P45": 45,
        "P46": 46,
        "P47": 47,
        "P48": 48,
        "P5": 5,
        "P6": 6,
        "P7": 7,
        "P8": 8,
        "P9": 9
    }
}
```
